package org.dromara.demo.domain.dto;

import org.dromara.common.mybatis.core.domain.BaseEntity;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import java.io.Serial;
import java.io.Serializable;
import java.util.List;

/**
 * 业务表单提交数据传输对象（与前端表单结构对应）
 */
public class BusiFormSubmitDto extends BaseEntity implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 店名
     */
    @NotBlank(message = "店名不能为空")
    private String name;

    /**
     * 备注
     */
    private String remark;

    /**
     * 日期时间
     */
    @NotBlank(message = "日期时间不能为空")
    private String dateTime;

    /**
     * 送货总斤数
     */
    @NotBlank(message = "送货总斤数不能为空")
    private String totalWeight;

    /**
     * 类型
     */
    @NotBlank(message = "类型不能为空")
    private String type;

    /**
     * 货物明细列表
     */
    @NotEmpty(message = "货物明细不能为空")
    private List<CargoItemFormDto> cargoItems;

    /**
     * 联系人列表
     */
    @NotEmpty(message = "联系人不能为空")
    private List<ContactFormDto> contacts;

    /**
     * 经纬度信息
     */
    @NotNull(message = "位置信息不能为空")
    private LocationDto location;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getDateTime() {
        return dateTime;
    }

    public void setDateTime(String dateTime) {
        this.dateTime = dateTime;
    }

    public String getTotalWeight() {
        return totalWeight;
    }

    public void setTotalWeight(String totalWeight) {
        this.totalWeight = totalWeight;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public List<CargoItemFormDto> getCargoItems() {
        return cargoItems;
    }

    public void setCargoItems(List<CargoItemFormDto> cargoItems) {
        this.cargoItems = cargoItems;
    }

    public List<ContactFormDto> getContacts() {
        return contacts;
    }

    public void setContacts(List<ContactFormDto> contacts) {
        this.contacts = contacts;
    }

    public LocationDto getLocation() {
        return location;
    }

    public void setLocation(LocationDto location) {
        this.location = location;
    }
}